package com.stylefeng.guns.modular.model.utils;//package cn._2vin.user.utils;
//
//import javax.annotation.Resource;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import javax.servlet.http.HttpSession;
//
//import org.apache.shiro.SecurityUtils;
//import org.apache.shiro.authc.UsernamePasswordToken;
//import org.apache.shiro.subject.Subject;
//
//import com.google.gson.Gson;
//import com.megvii.cloud.mylibrary.R.integer;
//
//
//public class WeixinUserinfo {
//
//    public WeiXinUserInfo getWeixininfo(HttpServletResponse response, String wxcode, String pathPARM,
//            HttpSession session, IUserService userService, String sComponentAccessToken, String appid) throws Exception {
//
//        WeiXinUserInfoResult weiXinUserInfoResult = null;
//        WeiXinUserInfo weiXinUserInfo = null;
//
//        if (wxcode == null) {
//            Logger.error("V2wxcode is null");
//        } else {
//            Logger.error("V2wxcode is not null");
//        }
//
//        long T1 = System.currentTimeMillis();
//        long T2 = System.currentTimeMillis();
//        String openId = null;
//        // 全局微信ID 2017-12-19 韩卫
//        String unionid = null;
//        String sHeadimage = null;
//        String nickname = null;
//        try {
//            if (!Env.isEnvProduct()) {
//                if (StringUtils.isNull(wxcode)) {
//                    wxcode = "1111";
//                }
//            }
//
//            if (StringUtils.isNull(wxcode)) {
//                // throw new Exception("微信用户编码为空");
//                // 需要重新定位导向 授权页面？
//                Logger.error("V2doweixinLogin 4");
//                // sendRedirectMembersignup(response,null,pathPARM,null,null);
//            } else {
//                try {
//                    T1 = System.currentTimeMillis();
//                    // 调试状态用户
//                    if (wxcode.equals("1111")) {
//                        openId = "o0OuLw3hRvFiSqn--U2I5RfIr1hM";
//                        unionid = "123456789";
//                        sHeadimage = "/faceimg/1497162265867-2842384176991693218s-n.jpg";
//                        nickname = "测试用户1";
//                        Logger.error("V2doweixinLogin 5 测试用户1");
//                        weiXinUserInfo = new WeiXinUserInfo();
//                        weiXinUserInfo.setHeadimgurl(sHeadimage);
//                        weiXinUserInfo.setOpenid(openId);
//                        weiXinUserInfo.setNickname(nickname);
//                        return weiXinUserInfo;
//                    } else {
//                        Logger.error("V2doweixinLogin 5 wxcode" + wxcode);
//                        weiXinUserInfoResult = TemplateSendV2.getInstance().getWeiXinUserInfoResult(wxcode,
//                                sComponentAccessToken, appid,true);
//                        if (weiXinUserInfoResult == null || weiXinUserInfoResult.getUserInfo() == null
//                                || weiXinUserInfoResult.getUserInfo().getOpenid() == null)// 通过页面进入
//                        {
//                            Logger.error("V2doweixinLogin 6");
//                            return null;
//                        }
//
//                        T2 = System.currentTimeMillis();
//                        Logger.error(timediff(T1, T2, "1.1微信授权时间"));
//                        T1 = System.currentTimeMillis();
//
//                        weiXinUserInfo = weiXinUserInfoResult.getUserInfo();
//                        openId = weiXinUserInfo.getOpenid();
//                        sHeadimage = weiXinUserInfo.getHeadimgurl();
//                        nickname = weiXinUserInfo.getNickname();
//                        nickname = StringUtils.removeblank(nickname, ' ');
//                        // 这里还要获取头像 返回 微信对象 20170303 韩卫
//                        Logger.error("*********************************2openId:" + openId);
//                        Logger.error("*********************************2sHeadimage:" + sHeadimage);
//                        return weiXinUserInfo;
//
//                    }
//
//                } catch (Exception e) {
//                    // TODO: handle exception
//                    // 微信获取失败
//                    Logger.error("微信授权信息获取失败:" + wxcode);
//                    e.printStackTrace();
//                    // throw e;
//                    // 获取不到微信授权页面，重新跳转
//                    // sendRedirectMembersignup(response,pid,pathPARM,activityId,sourceinviterID);
//                }
//
//            }
//
//        } catch (Exception e) {
//            Logger.error("*********************************V2doLogin error", e);
//            e.printStackTrace();
//        }
//
//        return null;
//    }
//
//    // 保存客户联系人表，新增用户时候，自动保存
//    public CustomerContacts saveCustomer(CustomerForm customer, String userId, String activityId,
//            ICustomerService customerService, int signtype, IOrganizationService organizationService,
//            String inviteruseridID,User user) throws Exception {
//        try {
//            // 获取客户联系人信息，如果为空 新增初步数据，如果不为空更新
//            CustomerContacts contacts = customerService.saveCustomer(customer, userId, activityId, null,
//                    organizationService.getOrganizationId(Integer.toString(signtype)), StringUtils.MANKINDSIGN,
//                    signtype, inviteruseridID,user,false);
//            return contacts;
//
//        } catch (Exception e) {
//            // TODO: handle exception
//            e.printStackTrace();
//            return null;
//        }
//    }
//
//    public WeiXinUserInfoResult doweixinLogin(HttpServletResponse response, String wxcode, String pid, String pathPARM,
//            String activityId, String sourceinviterID, HttpSession session, IUserService userService,
//            String appendPARM, ICustomerService customerService, IOrganizationService organizationService,
//            WeixinOpenAccountEntityService weixinOpenAccountEntityService, HttpServletRequest request,
//            String activitystisticid,String appid,boolean getWeixinheadnickname) throws Exception {
//
//        UsernamePasswordToken token = null;
//        User userlogin = new User(); 
//        // 登陆
//        Subject subject = SecurityUtils.getSubject();
//        WeiXinUserInfoResult weiXinUserInfoResult = null;
//        WeiXinUserInfo weiXinUserInfo = null;
//        String activityStatisticid=null;
//
//        if (wxcode == null) {
//            Logger.error("wxcode is null");
//        } else {
//            Logger.error("wxcode is not null:"+wxcode);
//        }
//
//        long T1 = System.currentTimeMillis();
//        long T2 = System.currentTimeMillis();
//        String openId = null;
//        // 全局微信ID 2017-12-19 韩卫
//        String unionid = null;
//        String sHeadimage = null;
//        String nickname = null;
//
//        // ############################################################ 刘玉龙
//        // 2017.11.28 用户id 角色id
//        String userid = null;
//        String corproleid = null;
//        // 邀请用户的userid获取 2017年11.11 韩卫
//        // 改传递用户ID，不是活动联系人ID 11-23
//        String inviteruseridID = pid;
//
//        try {
//            if (!Env.isEnvProduct()&&!"other".equals(wxcode)) {
//                if (StringUtils.isNull(wxcode)) {
//                    wxcode = null;
//                }
//               
//                openId = "oIdt5v94Yx4uXqVYM5c5gFhSoYX4";
//               // openId = "o0OuLw7vUbBLdFu3KgY46PX4x5G4";
//                // openId = StringTools.genUUIDString();
//                sHeadimage = "http://thirdwx.qlogo.cn/mmopen/dWYcndbpDnZN35qicib36IVMryShfhISNyz85PZwk4BhAGG66SHUcmsyo64NmhgFgNh4tDTBmw0z7oFXnzIUwW3A/132";
//                nickname = "锁骨、";
//                unionid = "o5mlhwsBfh--xgew5tQ8yscDHqzs";
//                Logger.error("V2doweixinLogin 5 本机测试用户：" + openId);
//                appid = "wx6889779df87d53b8";
//              //刘玉龙  2018.1.29
//                session.setAttribute("wxcode", wxcode);
//                session.setAttribute("openId", openId);
//                session.setAttribute("unionid", unionid);
//                session.setAttribute("sHeadimage", sHeadimage);
//                session.setAttribute("nickname", nickname);
//                session.setAttribute("appid", appid);
//            }
//            if (StringUtils.isNull(wxcode)&&StringUtils.isNotNull(appid)) {
//                // throw new Exception("微信用户编码为空");
//                // 需要重新定位导向 授权页面？
//                if (session.getAttribute("openId") != null) {
//                    //刘玉龙  2018.1.29
//                    //wxcode = (String) session.getAttribute("wxcode");
//                    unionid = (String) session.getAttribute("unionid");
//                    openId = (String) session.getAttribute("openId");
//                    sHeadimage = (String) session.getAttribute("sHeadimage");
//                    nickname = (String) session.getAttribute("nickname");
//                    Logger.error("V2doweixinLogin 有缓存session.getAttribute appid:" + appid);
//                } else {
//                    Logger.error("V2doweixinLogin 4");
//
//                    sendRedirectMembersignup(response, session, pid, pathPARM, activityId, sourceinviterID, appendPARM,
//                            appid, activitystisticid,getWeixinheadnickname);
//                    return null;
//                }
//            } else {
//                try {
//                    T1 = System.currentTimeMillis();
//                    // 调试状态用户
//                    if (StringUtils.isNull(appid)||(wxcode!=null&&wxcode.trim().equals("other")))// 微信以外的系统
//                    {
//                        if (nickname == null) {
//                            nickname = StringTools.genUUIDString();
//                        }
//                        String openIdlogin = null;
//                        String sHeadimagelogin = null;
//                        userlogin = defaultlogin(nickname, openIdlogin, sHeadimagelogin, activityId, sourceinviterID,
//                                sourceinviterID, userService);
//                        // 对应其他手机网页登录的入口，不需要生成customer 和activity_statistic 表
//                        if (StringUtils.isNotNull(activityId)) {
//                            CustomerForm customer = new CustomerForm();
//                            customer.setWechatnickname(userlogin.getWeixinnickname());
//                            customer.setName(userlogin.getWeixinnickname());
//                            customer.setHeadimgurl(sHeadimage);
//                            customer.setUserId(userlogin.getId());
//                            customer.setWechatopenid(userlogin.getOpenid());
//                            // 客户增加 2017/10/26 韩卫
//                            // 活动分析表增加 2017/10/26 韩卫
//                            // 默认浏览用户注册 StringUtils.SIGNTYPEBBrowse
//                            
//                         CustomerContacts  customerContacts =saveCustomer(customer, userlogin.getId(), activityId, customerService,
//                                    StringUtils.SIGNTYPEBBrowse, organizationService, inviteruseridID,userlogin);
//                         activityStatisticid=customerContacts.getActivityStatisticid();
//                        }
//                       
//                            weiXinUserInfoResult = new WeiXinUserInfoResult();
//                            weiXinUserInfo = new WeiXinUserInfo();
//                            weiXinUserInfo.setNickname("");
//                            weiXinUserInfo.setOpenid(null);
//                            weiXinUserInfo.setHeadimgurl(sHeadimage);
//                            weiXinUserInfo.setUserid(userlogin.getId());
//                            weiXinUserInfoResult.setUserInfo(weiXinUserInfo);  
//                            weiXinUserInfoResult.setActivityStatisticid(activityStatisticid);
//                        return weiXinUserInfoResult;
//                    } else {
//                        Logger.error("V2doweixinLogin.java：doweixinLogin 202 doweixinLogin 5 wxcode" + wxcode);
//                        if (appid==null) {
//                            throw new Exception("获取应用微信服务号异常！");
//                        }
//                    
//                        String sComponentAccessToken = null;
//                        int expiresIn = 7200;
//                        try {
//                            AccessToken componentAccessToken = weixinOpenAccountEntityService.queryAccessToken(expiresIn);
//                            sComponentAccessToken = componentAccessToken.getAccessToken();
//                           // Logger.error("WeiXinTestController.java    sComponentAccessTokenV3:" + sComponentAccessToken);
//                        } catch (Exception e) {
//                            // TODO: handle exception
//                            Logger.error("WeiXinTestController.java    queryAccessToken " + e.getMessage());
//                            e.printStackTrace();
//                            throw e;
//                        }
//                            try {
//                                
//                                Logger.error("V2 doweixinLogin 获取微信信息 wxcode：" + wxcode + ";sComponentAccessToken:"
//                                        + sComponentAccessToken + ";appid:" + appid);
//                                
//                                try { 
//                                        weiXinUserInfoResult = TemplateSendV2.getInstance().getWeiXinUserInfoResult(
//                                                wxcode, sComponentAccessToken, appid,getWeixinheadnickname); 
//                                } catch (Exception e) {
//                                    // TODO Auto-generated catch block
//                                    Logger.error("V2doweixinLogin 267 获取微信错误:" + e.getMessage());
//                                    e.printStackTrace();
//                                }
//                                
//                                
//                                if (weiXinUserInfoResult == null || weiXinUserInfoResult.getUserInfo() == null
//                                        || weiXinUserInfoResult.getUserInfo().getOpenid() == null)// 通过页面进入
//                                {
//                                    Logger.error("V2doweixinLogin 获取微信信息为空 280");
//                                    //重新跳转 0423 修改韩卫 对转发链接的，肯定获取不了正确微信信息，需要重新跳转
//                                    sendRedirectMembersignup(response, session, pid, pathPARM, activityId, sourceinviterID, appendPARM,
//                                            appid, activitystisticid,getWeixinheadnickname);
//                                    return null;
//                                }
//
//                                T2 = System.currentTimeMillis();
//                                Logger.error(timediff(T1, T2, "1.1微信授权时间"));
//                                T1 = System.currentTimeMillis();
//
//                                weiXinUserInfo = weiXinUserInfoResult.getUserInfo();
//                                wxcode=weiXinUserInfo.getWxcode();
//                                openId = weiXinUserInfo.getOpenid();
//                                unionid = weiXinUserInfo.getUnionid();
//                                Logger.error("V2doweixinLogin 获取微信信息为unionid:" + unionid + ",openId:" + openId);
//                                sHeadimage = weiXinUserInfo.getHeadimgurl();
//                                nickname = weiXinUserInfo.getNickname();
//                                nickname = StringUtils.removeblank(nickname, ' ');
//                                Logger.error("V2doweixinLogin.java：doweixinLogin 315  session openId 从腾讯获取新数据："
//                                        + openId);
//                               
//                                // ###################################################
//                                // 刘玉龙 2017.11.28 得到 用户id 角色id
//                                userid = weiXinUserInfo.getUserid();
//                                session.setAttribute("wxcode", wxcode);
//                                session.setAttribute("openId", openId);
//                                session.setAttribute("unionid", unionid);
//                                session.setAttribute("sHeadimage", sHeadimage);
//                                session.setAttribute("nickname", nickname);
//                                try {
//                                    Logger.error("userService.update(user);userid:" + userid);
//                                    User user=userService.queryUserById(userid);
//                                    if (user!=null) {
//                                        user.setWeixinnickname(nickname);
//                                        user.setUserName(nickname);
//                                        user.setOpenid(openId);
//                                        user.setUnionid(unionid);
//                                        user.setHeadpic(sHeadimage);;
//                                        user.setWeixinnickname(nickname);
//                                        userService.update(user);
//                                        Logger.error("userService.update(user);setHeadpic:" + sHeadimage);
//                                    }
//                                    
//                                } catch (Exception e) {
//                                    // TODO: handle exception
//                                    Logger.error("userService.update(user);erro:" + e.getMessage());
//                                }
//                                
//
//                                // ###############################################
//                                // 刘玉龙 2017.11.28 将 用户id 角色id 保存到session
//                                session.setAttribute("userid", userid);
//                                Logger.error("doweixinLogin 获取微信sHeadimage:" + sHeadimage);
//
//                            } catch (Exception e) {
//                                Logger.error("doweixinLogin 获取微信异常 307:" + e.getMessage());
//                                e.printStackTrace();
//                            }
//                        }
//                    //}
//
//                } catch (Exception e) {
//                    // TODO: handle exception
//                    // 微信获取失败
//                    Logger.error("V2DoWeiXinLogin.java：doweixinLogin 233 微信授权信息获取失败:" + wxcode);
//                    e.printStackTrace();
//                    // throw e;
//                    // 获取不到微信授权页面，重新跳转
//                    if (wxcode!=null&&!wxcode.trim().equals("other")) {
//                        sendRedirectMembersignup(response, session, pid, pathPARM, activityId, sourceinviterID,
//                                appendPARM, appid, activitystisticid,getWeixinheadnickname);
//                        return null;
//                    }
//                }
//            }
//         
//
//            // ############ 上面代码获取微信 openid
//            User userInfo = null;
//            // 上传微信头像到服务器
//            // 登陆注册用户的ID
//            String sUserloginID = "";
//            // 微信ID不为空，查询历史的微信ID
//            if (StringUtils.isNotNull(openId)) {
//                userInfo = userService.queryUserByOpenId(openId);
//                T2 = System.currentTimeMillis();
//                Logger.error(timediff(T1, T2, "1.2openId查询用户openId:"+openId));
//                T1 = System.currentTimeMillis();
//                // 正常获取微信id，用这个微信用户
//                if (userInfo != null) {
//                    corproleid = userInfo.getCorproleid();
//                    session.setAttribute("corproleid", corproleid);
//                    Logger.error("V2doweixinLogin 获取微信信息为corproleid:" + corproleid + ",userid:" + userid);
//
//                    // 获取已登录微信用户账号
//                    String username = userInfo.getUserName();
//                    String password = userInfo.getPassword();
//                    sUserloginID = userInfo.getId();
//
//                    // 2017-12-23 更新unionid
//                    if (StringUtils.isNotNull(openId)) {
//                    userInfo.setOpenid(openId);
//                    }
//                    if (StringUtils.isNotNull(nickname)) {
//                    userInfo.setWeixinnickname(nickname);
//                    }
//                    if (StringUtils.isNotNull(unionid)) {
//                    userInfo.setUnionid(unionid);
//                    }
//                   
//                    if (StringUtils.isNotNull(sHeadimage)) {
//                        userInfo.setHeadpic(sHeadimage);
//                    }
//                    
//                    userService.update(userInfo);
//                    Logger.error(" V2weiXinUserInfo.userService.update(userInfo);unionid=" + unionid);
//                    if (weiXinUserInfoResult == null) {
//                        weiXinUserInfoResult = new WeiXinUserInfoResult();
//                        weiXinUserInfo = new WeiXinUserInfo();
//                        weiXinUserInfo.setNickname(nickname);
//                        weiXinUserInfo.setOpenid(openId);
//                        weiXinUserInfo.setUnionid(unionid);
//
//                        Logger.error(" V2weiXinUserInfo.setUnionid:" + unionid);
//                        weiXinUserInfo.setHeadimgurl(sHeadimage);
//                        Logger.error(" V2weiXinUserInfo.sHeadimage:" + sHeadimage);
//                        weiXinUserInfo.setUserid(sUserloginID);
//                        weiXinUserInfo.setCorproleid(userInfo.getCorproleid());
//                        weiXinUserInfoResult.setUserInfo(weiXinUserInfo);
//                        session.setAttribute("weiXinUserInfoResult", weiXinUserInfoResult);
//                        Logger.error(" V2weiXinUserInfo.setCorproleid1:" + userInfo.getCorproleid());
//                    } else {
//                        if (weiXinUserInfoResult.getUserInfo() != null) {
//                            weiXinUserInfoResult.getUserInfo().setUserid(sUserloginID);
//                            weiXinUserInfo.setCorproleid(userInfo.getCorproleid());
//                        }
//                        session.setAttribute("weiXinUserInfoResult", weiXinUserInfoResult);
//                        Logger.error(" V2weiXinUserInfo.setCorproleid2:" + userInfo.getCorproleid());
//                    }
//                    token = new WxUsernamePasswordToken(username, password);
//                    subject.login(token);
//                    T2 = System.currentTimeMillis();
//                    Logger.error(timediff(T1, T2, "1.3模拟登陆成功"));
//                    T1 = System.currentTimeMillis();
//                    // 需要更新建立系统分析表
//
//                } else {
//                    // 没有这个注册用户 新建微信用户账号ß
//                    // 新注册账号
//                    WeiXinUserInfo weiXinUserInfo2 = null;
//                    // 微信昵称不作为用户名
//                    String username = StringTools.genUUIDString();
//                    String password = "123456";// 如果修改，需要同步修改 1109 行的加密密码
//                    UserForm userForm = new UserForm();
//                    userForm.setUsername(username);
//                    userForm.setPassword1(password);
//                    userForm.setOpenid(openId);
//                    userForm.setUnionid(unionid);
//                    userForm.setLogopic(sHeadimage);
//                    userForm.setWeixinnickname(nickname);
//                    // ############################################## 刘玉龙
//                    // 2017.11.28 将用户头像插入到userfrom
//                    userForm.setHeadpic(sHeadimage);
//                    
//                    Logger.error(" V2DoWeiXinLogin.java: userForm.setHeadpic(sHeadimage);:"+sHeadimage);
//                    // 后续添加微信头像路径
//                    try {
//                        userlogin = userService.doRegister(userForm);
//                        sUserloginID = userlogin.getId();
//                        // 对应其他手机网页登录的入口，不需要生成customer 和activity_statistic 表
//                        if (StringUtils.isNotNull(activityId)) {
//                            CustomerForm customer = new CustomerForm();
//                            customer.setWechatnickname(userForm.getWeixinnickname());
//                            customer.setName(userForm.getWeixinnickname());
//                            customer.setHeadimgurl(sHeadimage);
//                            customer.setUserId(sUserloginID);
//                            customer.setWechatopenid(userForm.getOpenid());
//                            // 客户增加 2017/10/26 韩卫
//                            // 活动分析表增加 2017/10/26 韩卫
//                            // 默认浏览用户注册 StringUtils.SIGNTYPEBBrowse
//                            saveCustomer(customer, sUserloginID, activityId, customerService,
//                                    StringUtils.SIGNTYPEBBrowse, organizationService, inviteruseridID,userlogin);
//                        }
//
//                        if (weiXinUserInfoResult == null) {
//                            weiXinUserInfoResult = new WeiXinUserInfoResult();
//                            Logger.error(" V2DoWeiXinLogin.java:weiXinUserInfoResult == null:");
//                        } else {
//                            Logger.error(" V2DoWeiXinLogin.java:weiXinUserInfoResult is not null:");
//                        }
//                        weiXinUserInfo2 = new WeiXinUserInfo();
//                        weiXinUserInfo2.setNickname(nickname);
//                        weiXinUserInfo2.setOpenid(openId);
//                        weiXinUserInfo2.setUnionid(unionid);
//                        weiXinUserInfo2.setHeadimgurl(sHeadimage);
//                        weiXinUserInfo2.setUserid(sUserloginID);
//
//                        weiXinUserInfo2.setCorproleid(userlogin.getCorproleid());
//                        weiXinUserInfoResult.setUserInfo(weiXinUserInfo2);
//                        Logger.error(" weiXinUserInfo.setCorproleid2-1:" + userlogin.getCorproleid());
//                        session.setAttribute("weiXinUserInfoResult", weiXinUserInfoResult);
//                    } catch (Exception e) {
//                        // TODO: handle exception
//                        e.printStackTrace();
//                        Logger.error("V2DoWeiXinLogin.java：doweixinLogin 340 用户名异常注册，用微信ID登录：" + openId
//                                + e.getMessage());
//
//                        throw new Exception("用户名注册异常,错误信息：" + e.getMessage());
//
//                    }
//
//                    T2 = System.currentTimeMillis();
//                    Logger.error(timediff(T1, T2, "1.4创建用户"));
//                    T1 = System.currentTimeMillis();
//                    token = new WxUsernamePasswordToken(username, "E10ADC3949BA59ABBE56E057F20F883E");
//                    // 考虑生成随机密码，确保安全？
//                    Logger.error("*********************************登陆openId:" + openId);
//                    subject.login(token);
//                    T2 = System.currentTimeMillis();
//                    Logger.error(timediff(T1, T2, "1.42创建用户后模拟登陆"));
//                    T1 = System.currentTimeMillis();
//                }
//
//            } else {
//                // 获取不到微信授权页面，重新跳转
//
//                if (wxcode == null || !("other").equals(wxcode)) {
//                    sendRedirectMembersignup(response, session, pid, pathPARM, activityId, sourceinviterID, appendPARM,
//                            appid, activitystisticid,getWeixinheadnickname);
//                    return null;
//                }
//
//            }
//
//        } catch (Exception e) {
//            Logger.error("*V2DoWeiXinLogin.java：doweixinLogin 370 ********************************doLogin error", e);
//            throw new Exception("用户名注册异常,错误信息：" + e.getMessage());
//        }
//        if (weiXinUserInfoResult!=null) {
//            weiXinUserInfoResult.setActivityStatisticid(activityStatisticid);
//        }
//        return weiXinUserInfoResult;
//    }
//
//    // 重新跳转到 会员邀请页面
//    public static void sendRedirectMembersignup(HttpServletResponse response, HttpSession session, String pid,
//            String pathPARM, String activityId, String sourceinviterID, String appendPARM, String appid,
//            String activityStaticId,boolean  getWeixinheadnickname) throws Exception {
//
//        Logger.error("sendRedirectMembersignup 1");
//        Logger.error("pathPARM" + pathPARM);
//        Logger.error("appendPARM" + appendPARM);
//        Logger.error("activityId：" + activityId);
//        Logger.error("sourceinviterID：" + sourceinviterID);
//        Logger.error("pid：" + pid);
//        String scope="snsapi_userinfo";
////        if (getWeixinheadnickname) {
//            scope="snsapi_userinfo";
////        }else {
////            scope="snsapi_base";
////        }
//        String urlString = "";
//        if (pathPARM != null && appendPARM.equals(StringUtils.AppendPARMPID)) {
//
//            urlString = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="
//                    + appid
//                    + "&redirect_uri=https://www.yiqihecheng.cc/"
//                    + pathPARM
//                    + "?pid="
//                    + pid
//                    + "&response_type=code&scope="+scope+"&state=STATE&component_appid=wxf179d0c02f8da1cd&connect_redirect=1#wechat_redirect";
//            Logger.error("DoWeiXinLogin.java:AppendPARMPID:urlString:" + urlString);
//        } else if (pathPARM != null && appendPARM.equals(StringUtils.AppendPARMactivityIdPIDsourceinviterID)) {
//            urlString = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="
//                    + appid
//                    + "&redirect_uri=https://www.yiqihecheng.cc/"
//                    + pathPARM
//                    + "?activityId="
//                    + activityId
//                    + ""
//                    + pid
//                    + sourceinviterID
//                    + "&response_type=code&scope="+scope+"&state=STATE&component_appid=wxf179d0c02f8da1cd&connect_redirect=1#wechat_redirect";
//
//            Logger.error("DoWeiXinLogin.java:AppendPARMactivityIdPIDsourceinviterID:urlString:" + urlString);
//        } else if (pathPARM != null && appendPARM.equals(StringUtils.AppendPARMactivityId)) {
//            urlString = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="
//                    + appid
//                    + "&redirect_uri=https://www.yiqihecheng.cc/"
//                    + pathPARM
//                    + "?activityId="
//                    + activityId
//                    + "&response_type=code&scope="+scope+"&state=STATE&component_appid=wxf179d0c02f8da1cd&connect_redirect=1#wechat_redirect";
//
//            Logger.error("DoWeiXinLogin.java:AppendPARMactivityId:urlString:" + urlString);
//        } else if (pathPARM != null && appendPARM.equals(StringUtils.AppendPARMstatisticid)) {
//            urlString = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="
//                    + appid
//                    + "&redirect_uri=https://www.yiqihecheng.cc/"
//                    + pathPARM
//                    + "?statisticid="
//                    + activityStaticId
//                    + "&response_type=code&scope="+scope+"&state=STATE&component_appid=wxf179d0c02f8da1cd&connect_redirect=1#wechat_redirect";
//
//            Logger.error("DoWeiXinLogin.java:AppendPARMactivityId:urlString:" + urlString);
//        } else {
//            urlString = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="
//                    + appid
//                    + "&redirect_uri=https://www.yiqihecheng.cc/"
//                    + pathPARM
//                    + ""
//                    + "&response_type=code&scope="+scope+"&state=STATE&component_appid=wxf179d0c02f8da1cd&connect_redirect=1#wechat_redirect";
//
//            Logger.error("DoWeiXinLogin.java:other:urlString:" + urlString);
//        }
//
//        // 再定向跳转
//        response.sendRedirect(urlString);
//    }
//
//    public static String timediff(long lbegin, long lend, String stips) {
//        long interval = (lend - lbegin);
//
//        String sResult = stips + parseMillisecone(interval);
//        System.out.println(sResult);
//        Logger.error(sResult);
//        return sResult;
//    }
//
//    /**
//     * 计算时差 根据 long 返回时间点
//     * 
//     * @param millisecond
//     * @return string 0天0时11分55秒
//     */
//    public static String parseMillisecone(long millisecond) {
//        String time = null;
//        try {
//            long yushu_day = millisecond % (1000 * 60 * 60 * 24);
//            long yushu_hour = (millisecond % (1000 * 60 * 60 * 24)) % (1000 * 60 * 60);
//            long yushu_minute = millisecond % (1000 * 60 * 60 * 24) % (1000 * 60 * 60) % (1000 * 60);
//
//            long yushu_second = millisecond % (1000 * 60 * 60 * 24) % (1000 * 60 * 60) % (1000 * 60) % 1000;
//
//            String sResult = "";
//            if (yushu_minute / 1000 == 0) {
//                sResult = millisecond + "毫秒";
//            } else {
//                sResult = (yushu_hour / (1000 * 60)) + "分" + (yushu_minute / 1000) + "秒";
//
//            }
//
//            return sResult;
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return time;
//    }
//
//    public User defaultlogin(String nickname, String openId, String sHeadimage, String activityId, String inviterID,
//            String sourceinviterID, IUserService userService) {
//        User userInfo = null;
//        String username = nickname;
//        String password = "123456";// 如果修改，需要同步修改 1109 行的加密密码
//        UserForm userForm = new UserForm();
//        userForm.setUsername(username);
//        userForm.setPassword1(password);
//        userForm.setOpenid(openId);
//        userForm.setLogopic(sHeadimage);
//        // 微信的昵称放到公司字段 韩卫 20170121
//        // 新增加 用户的weixinnickname字段
//        // 更新微信头像
//        userForm.setWeixinnickname(nickname);
//        // #######################################刘玉龙 2017.11.29
//        userForm.setHeadpic(sHeadimage);
//        long T1 = System.currentTimeMillis();
//        long T2 = System.currentTimeMillis();
//        // 后续添加微信头像路径
//        try {
//            userInfo = userService.doRegister(userForm);
//        } catch (Exception e) {
//            e.printStackTrace();
//            Logger.error("*********************************userService.doRegister(userForm):" + e.getMessage());
//        }
//
//        T2 = System.currentTimeMillis();
//        Logger.error(timediff(T1, T2, "1.4创建用户"));
//        T1 = System.currentTimeMillis();
//        UsernamePasswordToken token = null;
//        token = new WxUsernamePasswordToken(username, "E10ADC3949BA59ABBE56E057F20F883E");
//        // token = new WxUsernamePasswordToken("t10@ifhub.net",
//        // "E10ADC3949BA59ABBE56E057F20F883E");
//        Logger.error("*********************************登陆openId:" + openId);
//        Subject subject = SecurityUtils.getSubject();
//        subject.login(token);
//        T2 = System.currentTimeMillis();
//        Logger.error(timediff(T1, T2, "1.42创建用户后模拟登陆"));
//        T1 = System.currentTimeMillis();
//        return userInfo;
//    }
//
//    public User outsyslogin(UserForm userForm, IUserService userService) {
//        User userInfo = null;
//        String userAPPAccountId = userForm.getUserAPPAccountId();
//
//        String username = userForm.getUsername();
//        String password = "123456";// 如果修改，需要同步修改 1109 行的加密密码
//
//        long T1 = System.currentTimeMillis();
//        long T2 = System.currentTimeMillis();
//        // 后续添加微信头像路径
//        try {
//            if (userAPPAccountId != null)
//                userInfo = userService.queryUserByuserAPPAccountId(userAPPAccountId);
//            if (userInfo == null) {
//                userInfo = userService.doRegister(userForm);
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//            Logger.error("*********************************userService.doRegister(userForm):" + e.getMessage());
//        }
//
//        T2 = System.currentTimeMillis();
//        Logger.error(timediff(T1, T2, "1.4创建用户"));
//        T1 = System.currentTimeMillis();
//        UsernamePasswordToken token = null;
//        token = new WxUsernamePasswordToken(username, "E10ADC3949BA59ABBE56E057F20F883E");
//        // token = new WxUsernamePasswordToken("t10@ifhub.net",
//        // "E10ADC3949BA59ABBE56E057F20F883E");
//
//        Subject subject = SecurityUtils.getSubject();
//        subject.login(token);
//        T2 = System.currentTimeMillis();
//        Logger.error(timediff(T1, T2, "1.42创建用户后模拟登陆"));
//        T1 = System.currentTimeMillis();
//        return userInfo;
//    }
//    
//    
//    //刘玉龙  2018.1.29
//    /**
//     * @param WeiXinUserInfoResult
//     *            result
//     * @return
//     */
//  //异常++
//    public int m_i=0;
//    //成功++
//    public int m_sucessi=0;
//    public WeiXinUserInfoResult getWeiXinUserInfoResult(String openId,String access_token,String appid) throws Exception {
//        String sMassgeString = "";
//        TemplateSendV2 templateSendV2=new TemplateSendV2();
//        try {
//                Logger.error("V2getWeiXinUserInfoResult:"+m_i + "次;sComponentAccessToken:"+access_token);
//               
//                WeiXinUserInfoResult result = new WeiXinUserInfoResult(); 
//                String sUserinfomessageString = "nouserid";
//                 
//                // 1.获取 token
//                try {
//                        // 2.获取个人信息
//                        String accessinfor_url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token
//                                + "&openid=" + openId + "&lang=zh_CN";
//                        Logger.error("accessinfor_url:" + accessinfor_url);
//                        Gson gson = new Gson();
//                        String jsoninforStr = null;
//                        jsoninforStr = TemplateUtil.sendGet(accessinfor_url); // 获取包含个人信息的json数据
//                        Logger.error("jsoninforStr:" + jsoninforStr);
//                        if (jsoninforStr != null) {
//                            if (jsoninforStr.contains("errcode")) {
//                                
//                                m_i++;
//                                WeiXinErrorMsg errorResult = new WeiXinErrorMsg();
//                                errorResult = gson.fromJson(jsoninforStr, WeiXinErrorMsg.class);
//                                sMassgeString = "1V2微信头像获取异常<br>" + "第" + m_i + "次异常，获取异常:<br>" + errorResult.getErrmsg()
//                                        + "<br>" + sUserinfomessageString;
//                                templateSendV2.sendmailinfo("V2微信头像获取异常", sMassgeString);
//                                //continue;
//                            } else {
//                                WeiXinUserInfo userInfo = new WeiXinUserInfo();
//                                userInfo = gson.fromJson(jsoninforStr, WeiXinUserInfo.class);
//                                result.setUserInfo(userInfo);
//                                result.setResult(true);
//                                Logger.error("V2userInfo.getHeadimgurl():" + userInfo.getHeadimgurl());
//                                m_i++;
//                                sMassgeString = "V2微信头像获取<br>" + "第" + m_sucessi + "次成功"+"<br><img src=\""
//                                        + userInfo.getHeadimgurl()+"\"/>"+userInfo.getHeadimgurl()+"<br>"
//                                        +"昵称："+userInfo.getNickname();
//                                templateSendV2.sendmailinfo("V2微信头像获取成功"+userInfo.getNickname(), sMassgeString);
//                                return result;
//                            }
//                        } else {
//                            m_i++;
//                            sMassgeString = "2V2微信头像获取异常<br>" + "第" + m_i + "次异常，获取异常:<br>jsoninforStr is null<br>"
//                                    + sUserinfomessageString;
//                            templateSendV2.sendmailinfo("V2微信头像获取异常", sMassgeString);
//                            //continue;
//                        }
//                  
//
//                } catch (Exception e) { 
//                    sMassgeString = "4V2userInfo.getHeadimgurl():" + "第" + m_i + "次异常错误" + e.getMessage();
//                    templateSendV2.sendmailinfo("V2微信头像获取异常", sMassgeString);
//                    e.printStackTrace();
//                    //continue;
//                }
//
//            } catch (Exception e) {
//                // TODO: handle exception 
//                e.printStackTrace();
//                sMassgeString = "5V2userInfo.getHeadimgurl():" + "第" +m_i + "次异常错误" + e.getMessage();
//                templateSendV2.sendmailinfo("V2微信头像获取异常", sMassgeString);
//                //continue;
//            }
//       // }
//        return null;
//    }
//}
